
//--------------------------------------------------
//
// auto generated file, do not change it here but check corresponding *.met/*.def file
//
//--------------------------------------------------
#pragma once
 
#include "nullptr.h"


namespace yasa
{
namespace configuration
{

struct ISTCommonData 
{
     int32_t id; 
     std::string name; 
     std::string description; 
     std::string imagePath; 
     std::string soundPath; 
    
     ISTCommonData();  
};


struct  ISTItem  : public  ISTCommonData 
{
    
     ISTItem(); 
     std::string toXml(TiXmlElement *parentNode); 
     void fromXml(const std::string &xml, TiXmlElement *parentNode);  
};


struct  ISTCategory  : public  ISTCommonData 
{
     std::vector<struct yasa::configuration::ISTCategory> categories; 
     std::vector<int32_t> items; 
    
     ISTCategory(); 
     std::string toXml(TiXmlElement *parentNode); 
     void fromXml(const std::string &xml, TiXmlElement *parentNode);  
};


struct Rect 
{
     int32_t x; 
     int32_t y; 
     int32_t width; 
     int32_t height; 
    
     Rect(); 
     std::string toXml(TiXmlElement *parentNode); 
     void fromXml(const std::string &xml, TiXmlElement *parentNode);  
};


struct Configuration 
{
     struct yasa::configuration::ISTCategory theRoot; 
     std::vector<struct yasa::configuration::ISTItem> items; 
     struct yasa::configuration::Rect mainWindowRect; 
     struct yasa::configuration::Rect propertiesWindowRect; 
    
     Configuration(); 
     std::string toXml(TiXmlElement *parentNode); 
     void fromXml(const std::string &xml, TiXmlElement *parentNode);  
};


}

}
